package logs

import (
	"errors"

	"gitee.com/xgotool/sqlite-logs-more/model"
)

// 创建Pipe日志
//
//	p	Pipe日志记录
func PipeCreate(p *model.PipeLog) error {
	if p.Did == 0 {
		return errors.New("设备ID不能为空")
	}
	conn, err := Connect()
	if err != nil {
		return err
	}
	for {
		// 判断主键ID是否存在
		tmp := model.PipeLog{}
		conn.Table(tmp.TableName()).Where("id", p.Id).Select("id").Find(&tmp)
		// 如果记录不存在
		if tmp.Id <= 0 {
			break
		}
		// 如果记录存在，就针对ID进行+1
		p.Id++
	}
	return conn.Table(p.TableName()).Create(p).Error
}
